package com.hb.core.pojo.center.sys.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.hb.core.pojo.parent.MPCommonEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * <p>
 * 操作台控制按钮信息表
 * </p>
 *
 * @author zhaojk
 * @since 2021-11-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_console_item")
public class ConsoleItem extends MPCommonEntity {

    /**
     * 父级ID
     */
    private Long parentId;

    /**
     * 操作名称
     */
    private String operaName;

    /**
     * 操作图标
     */
    private String iconType;

    /**
     * 页面地址
     */
    private String pageUrl;

    /**
     * 项目类型
     */
    private String bidWays;

    /**
     * 角色标识，逗号分隔的字符串
     */
    private String roleSigns;

    /**
     * 显示状态(1: 可以点击 - 已完成, 2: 可以点击 - 未完成, 3: 禁用)
     */
    private Integer showStatus;

    /**
     * 程序中显示判断的逻辑的 java bean
     */
    private String showStatusLogic;

    /**
     * 排序号
     */
    private BigDecimal sortCode;

    /**
     * 参数验证方法
     * 所有的继承该类的DTO对象必须在调用时重写该方法
     * 该方法中验证的字段对应数据库中不能为空的字段
     *
     * @param fieldNames
     * @return
     */
    @Override
    public String paramsValid(String... fieldNames) {
        return super.paramsValid("operaName");
    }
}
